Distributed processing in computer network systems provides a means for apportioning workload to multiple available network resources by transferring operations and data between many locations, or nodes, in the network. At the lowest processing level of the network system, the workload consists of various user specified functions executed on various network resources. Typically, processes operating on the various network resources perform the specified functions in a local system environment. These processes receive descriptions of functions to be performed and relevant data. Based on this information the process performs the requested function and, if necessary, returns the results on the network links to a destination indicated in the operation record header. The processes that actually perform the functions as well as their administrators or management servers exchange information with each other over the data network in a controlled manner according to a set of predetermined rules for communicating on the network or communication protocol.
RSM provides automated management services to large numbers of networked resources in a network in order to provide de-centralized execution of RSM operations by objects. The management services consist of a set of related functions performed on network resources. Some of the objects in the network are "host" objects. Host objects, also referred to hereinafter as "hosts", provide the resources to execute functions described in the operations received from users of the network. Examples of host objects are work station operating systems, processes running on personal computers or other operating systems which administer the management services provided in a network.
Another form of object is the "group" object. A group object specifies operations to be administered independently by two or more host objects. The objects specified by the operations may comprise host objects or additional group objects.
Management servers, which are also objects, assist network communications by routing operations to appropriate network resources for performing the functions specified within the operations. In addition a management server may decompose certain group operations designated by group composition lists contained within a global database accessible by all management servers. The constituent objects of a decomposed group object may be either additional groups or hosts. The management server forwards the group or host objects to other management servers if necessary according to the relations specified by group composition lists contained within the database. In addition to the previously described functions, management servers administer operations to certain hosts designated by the database.
The management server that first receives an operation from a point of access for receiving operations from network users is referred to hereinafter as the "originating" management server. The management server which administers operations to the specified host object in the operation or which decomposes a group object is referred to hereinafter as the "designated" management server. A group has only one originating management server but may contain groups or hosts with other designated management servers.
Management servers consult a network (global) database in order to obtain routing information for forwarding operations to the designated management server(s) for the target hosts. The network database, whose contents may be read by all the network management servers, provides lists of hosts and groups and the hosts and groups' designated management servers. The management servers utilize this database for distributing group objects and forwarding operations to designated management servers.
Known systems provide parallel execution of applications programs; however, these systems do not permit parallel management of application programs. The actual scheduling and administration of an application is provided in the prior art only on local systems. Therefore, it is possible for parallel execution of parts of an application; however, the programs which supply these parallel operations cannot be executed in parallel, and therefore in known systems these programs must be executed only one at a time by a single management server.
Furthermore, known management systems for distributed data processing systems typically permit a user to invoke the performance of multiple operations on a group of host objects by means of a single command or request. However, these prior systems locally define groups of hosts, and those hosts are all administered by a single management server. That single management server is the only management server permitted to submit operations to the group of hosts.
As a consequence of local definition of groups in known prior systems, a user may submit a command specifying an operation to be performed on a group of objects; however, only the single management server holding the group's composition definition possesses the capability to decompose the command. Therefore, the user may specify a plurality of operations to be performed on separate hosts by means of a single command which specifies a group of "member" objects. However, as soon as the group command is parsed by the user interface it is transferred to a management server. The management server decomposes the group into individual members, and each of the members in turn is scheduled for serial administration by the same single management server to which the user submitted the group command. A set of hosts directly coupled to the management server perform the individual operations specified in the group command. Such a restriction on all activity of a group operation to a single management server limits the number of systems for executing member commands which may be usefully included in a group command.